<script>
	import {
		mapMutations,
		mapActions
	} from 'vuex'
	import {
		inputInviteCode
	} from '@/api/user'
	import {
		userShare,
		getConfig
	} from '@/api/app'
	import Cache from '@/utils/cache'
	import CacheKey from 'config/cachekey.js'
	import {
		strToParams,
		showModal,
		setTabbar
	} from '@/utils/tools'
	import {
		wxMnpLogin
	} from '@/utils/login'
	import {
		getAdList
	} from '@/api/store'
	export default {
		globalData: {
			navHeight: "",
		},
		onLaunch: function(options) {
			//#ifdef MP-WEIXIN
			this.checkMpUpdate()
			//#endif
			uni.hideTabBar({
				animation: false
			})
			// 获取配置
			this.getConfigFun()

			this.getUser()
			// 获取分享
			this.getShareInfo()
			//获取系统信息
			this.getSystemInfo()
		},
		onShow: function(options) {
			console.log('======options====', options)
			//绑定邀请码
			this.bindCode(options)
		},
		onHide: function() {
			console.log('App Hide')
		},
		methods: {
			...mapMutations(['SETCONFIG']),
			...mapActions(['getUser']),
			getSystemInfo() {
				uni.getSystemInfo({
					success: res => {
						let {
							statusBarHeight,
							platform
						} = res;
						let navHeight;

						if (platform == 'ios' || platform == 'devtools') {
							navHeight = statusBarHeight + 44;
						} else {
							navHeight = statusBarHeight + 48;
						}
						this.globalData.navHeight = navHeight;

					},
					fail(err) {
						console.log(err);
					}

				});
			},
			async getShareInfo() {
				const {
					code,
					data
				} = await userShare()
				if (code == 1) {
					Cache.set('shareInfo', data)
				}
			},
			async getConfigFun() {
				try {
					const {
						code,
						data
					} = await getConfig()
					if (code == 1) {
						this.SETCONFIG(data)
						setTabbar()
						// 设置广告
						this.$store.commit('SETINDEXADINFO', data.ad_num > 0);
					}
				} catch (e) {
					uni.showTabBar()
				}

			},
			bindCode(options) {
				let invite_code = options.query.invite_code || strToParams(decodeURIComponent(options.query.scene))
					.invite_code
				if (invite_code) {
					inputInviteCode({
						code: invite_code
					}).then(res => {
						if (res.code == -1) {
							Cache.set(CacheKey.INVITE_CODE, invite_code)
						}
					})
				}
			},
			//#ifdef MP-WEIXIN
			checkMpUpdate() {
				const updateManager = wx.getUpdateManager()
				updateManager.onUpdateReady(function() {
					wx.showModal({
						title: '更新提示',
						content: '新版本已准备好，是否重启？',
						success: function(res) {
							if (res.confirm) {
								// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
								updateManager.applyUpdate()
							}
						}
					})
				})
			}
			//#endif
		}
	}
</script>

<style lang='scss'>
	@import 'styles/base.scss';
	/*每个页面公共css */
	@import "components/uview-ui/index.scss";

	page {
		--tag-box-width: 60rpx;
	}
</style>